1. Technical Field
The present disclosure relates generally to computer-aided design, and more specifically to adjusting values for light sources used, for example, in producing a rendered image of a design of a structure.
2. Background Information
As part of a design of a structure, it is often desirable to create one or more rendered images to help visualize the structure's appearance and, in some cases, its relationship with the surrounding environment. The structure may be represented as a model that is manipulated in a design session in a modeling environment, and stored in a file, for example a design file. To visualize the structure's appearance, the user may define a scene that includes at least a portion of the structure, for example, by placing a virtual camera with respect to the model to define the scene. To render the scene, the user exports data relevant to the camera's position from the design session to a rendering engine, which uses the data to produce a rendered image of the scene. This rendered image may be substantially photorealistic, or stylized in some manner.
Lighting generally has a dramatic effect on the rendered image produced. The exported data typically includes values (e.g., brightness, color temperature, etc.) for a number of light sources located within the scene, as well as located outside of the scene but capable of projecting light into the scene (collectively, light sources associated with the scene). These light sources may include light fixtures, solar lighting, and various types of environmental lighting, etc. In addition to the mere presence or absence of light from each of these light source, balance between the values (e.g., brightness, color temperature, etc.) of each light source is important.
In order to create a rendered image with a desired appearance, significant care is often taken to balance the values for the light sources. Typically, an iterative approach is employed. A user adjusts a value within the design session in the modeling environment, exports data from the design session to the rendering engine to render the scene, observes the rendered image, then adjusts a value within the design session, exports the data again, observes the rendered image, etc. This process is repeated over and over, until an acceptable rendered image is obtained. While this process may eventually yield a rendered image with the desired appearance, or something close to the desired appearance, it can be time consuming and frustrating. Each time the user updates a value within the design session, he or she typically does so “blind”, i.e., with no immediate visual feedback. Only when the scene is later rendered is the effect of the adjustment seen. As a result, it can take a significant number of attempts, and thereby a significant amount of time, to narrow in upon values that produce something close to the desired appearance. The number of attempts and amount of time grows in relation to the complexity of the scene and the number of light sources.
Accordingly, there is a need for improved techniques that may address these and other shortcomings.